const mongoose = require('mongoose')

// 收藏模式定义
const collectionSchema = new mongoose.Schema({
  // 关联的用户
  user: {
    type: mongoose.Schema.Types.ObjectId,
    ref: 'User',
    required: true
  },
  // 内容ID
  contentId: {
    type: mongoose.Schema.Types.ObjectId,
    required: true
  },
  // 内容类型
  contentType: {
    type: String,
    required: true,
    enum: ['article', 'video', 'image', 'audio']
  },
  // 内容标题
  title: {
    type: String,
    required: true
  },
  // 内容缩略图
  thumbnail: {
    type: String,
    default: ''
  },
  // 收藏时间
  collectedAt: {
    type: Date,
    default: Date.now
  },
  // 分类标签
  tags: [{
    type: String
  }],
  // 备注
  note: {
    type: String,
    default: ''
  }
}, {
  timestamps: true
})

// 创建索引
collectionSchema.index({ user: 1, contentId: 1 }, { unique: true })

// 创建并导出收藏模型
const Collection = mongoose.model('Collection', collectionSchema)
module.exports = Collection